
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>一文带你弄懂MCP的核心原理 - 学习卡片</title>
      <style>
        body { font-family: sans-serif; background-color: #f0f8ff; color: #333; display: flex; flex-direction: column; align-items: center; padding: 50px 20px; }
        .header h1 { font-size: 32px; }
        .grid-container { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; width: 100%; max-width: 1200px; }
        .card-container { perspective: 1200px; cursor: pointer; height: 250px; }
        .card { width: 100%; height: 100%; position: relative; transform-style: preserve-3d; transition: transform 0.7s; border-radius: 16px; box-shadow: 0 4px 16px rgba(0,0,0,0.08); }
        .card-container.flipped .card { transform: rotateY(180deg); }
        .card-face { position: absolute; width: 100%; height: 100%; backface-visibility: hidden; display: flex; flex-direction: column; box-sizing: border-box; border-radius: 16px; background-color: #fff; padding: 24px; }
        .card-back { background-color: #f0fff4; transform: rotateY(180deg); justify-content: space-between; }
        .card-category { font-size: 14px; color: #0052d9; margin-bottom: 8px; font-weight: 500; }
        .card-question { font-size: 20px; font-weight: 500; flex-grow: 1; display: flex; align-items: center; justify-content: center; text-align: center; }
        .card-answer-wrapper { flex-grow: 1; overflow-y: auto; }
        .card-answer { font-size: 15px; line-height: 1.7; }
        .card-footer { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 16px; margin-top: 16px; }
        .card-source { font-size: 13px; color: #8a919f; border-top: 1px solid #f0f0f0; padding-top: 12px; margin-top: 12px; }
      </style>
    </head>
    <body>
      <div class="header">
        <h1>一文带你弄懂MCP的核心原理 - 学习卡片</h1>
      </div>
      <div class="grid-container">
        
    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">什么是MCP（Model Context Protocol）？它的核心思想是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">MCP是一个专为AI模型与外部工具和服务通信而设计的开放标准协议。它基于JSON-RPC 2.0规范，通过标准化的消息格式实现AI应用与外部资源的无缝集成。其核心思想是提供一个统一的接口层，让AI模型能够像调用本地函数一样调用远程服务。</div>
          </div>
          <div class="card-source">来源: 一、MCP协议概述 -> 什么是MCP协议</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">特性</div>
          <div class="card-question">MCP协议的四个核心设计目标是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">特性</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">MCP的四个核心设计目标是：1. 标准化，确保不同实现间的互操作性；2. 安全性，内置认证和授权机制；3. 可扩展性，支持动态工具发现和注册；4. 性能优化，拥有高效的序列化和传输机制。</div>
          </div>
          <div class="card-source">来源: 一、MCP协议概述 -> MCP的设计目标与核心价值</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">理论</div>
          <div class="card-question">在AI技术栈中，MCP协议扮演什么角色，它位于哪两个层之间？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">理论</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">MCP在AI技术栈中扮演“连接器”的角色。它位于AI模型层（如ChatGPT）和应用服务层（如数据库、API、文件系统）之间，为两者提供一个标准化的通信桥梁。</div>
          </div>
          <div class="card-source">来源: 一、MCP协议概述 -> MCP在AI生态中的定位</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">架构</div>
          <div class="card-question">MCP协议的架构分为哪三层？它们各自的职责是什么？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">架构</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">MCP采用分层设计，分为三层：1. 传输层，负责处理底层网络通信（如TCP、WebSocket）；2. 协议层，实现JSON-RPC 2.0规范，处理消息的序列化和反序列化；3. 应用层，定义具体的工具接口和业务逻辑。</div>
          </div>
          <div class="card-source">来源: 二、MCP的核心架构 -> 协议层设计原理</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">技术</div>
          <div class="card-question">MCP基于JSON-RPC 2.0规范，支持哪三种主要的消息类型？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">技术</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">MCP使用JSON-RPC 2.0作为消息传递协议，支持三种消息类型：1. 请求消息（客户端向服务器发送的调用请求）；2. 响应消息（服务器返回的处理结果）；3. 通知消息（单向消息，不需要响应）。</div>
          </div>
          <div class="card-source">来源: 二、MCP的核心架构 -> 消息传递机制</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">机制</div>
          <div class="card-question">MCP协议定义了哪些标准的JSON-RPC 2.0错误码及其含义？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">机制</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">MCP定义了标准的错误码，包括：-32700（解析错误）、-32600（无效请求）、-32601（方法未找到）、-32602（无效参数）和-32603（内部错误）。</div>
          </div>
          <div class="card-source">来源: 二、MCP的核心架构 -> 错误处理与容错机制</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">应用</div>
          <div class="card-question">请列举文档中提到的至少三种MCP协议的典型应用场景。</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">应用</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">文档中提到的典型应用场景包括：1. AI应用集成外部API（如天气查询）；2. 数据库连接与查询（安全地让AI模型访问数据库）；3. 文件系统操作（如安全地读写文件）。此外，还支持自定义工具开发。</div>
          </div>
          <div class="card-source">来源: 四、MCP的实际应用场景</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">对比</div>
          <div class="card-question">与传统的REST API相比，MCP协议具有哪些主要优势？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">对比</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">与REST API相比，MCP的主要优势有三点：1. 统一接口，所有工具都通过相同的协议进行调用；2. 类型安全，支持强类型参数定义；3. 错误处理，拥有标准化的错误码和错误信息。</div>
          </div>
          <div class="card-source">来源: 五、MCP与其他协议的对比 -> 与REST API的对比分析</div>
        </div>
      </div>
    </div>

    <div class="card-container" onclick="this.classList.toggle('flipped');">
      <div class="card">
        <div class="card-face card-front">
          <div class="card-category">对比</div>
          <div class="card-question">相较于OpenAI的插件协议，MCP协议在哪些方面更具优势？</div>
          <div class="card-footer">点击卡片查看答案</div>
        </div>
        <div class="card-face card-back">
          <div class="card-category">对比</div>
          <div class="card-answer-wrapper">
            <div class="card-answer">相较于OpenAI插件协议，MCP具有三大优势：1. 标准化程度更高，作为一个开放标准，不依赖于特定厂商；2. 扩展性更强，支持动态的工具发现和注册；3. 安全性更好，协议内置了认证和授权机制。</div>
          </div>
          <div class="card-source">来源: 五、MCP与其他协议的对比 -> 与OpenAI插件协议的差异</div>
        </div>
      </div>
    </div>

      </div>
    </body>
    </html>
